Gradleを使ってみる


概要

Gradleを使って最低限のビルドとテストを行う

Github

https://github.com/gradle/gradle


公式サイト

http://gradle.org/


たまたまタイミングだと思うけど、自分がDLできなかった(サーバエラーっぽい

ので、

GithubからのDL > Buildと行った。


構成

Cloneして、そっからスタート。


ソースからコンパイル

./gradlew build


インストール

./gradlew install -Pgradle_installPath=/usr/local/gradle-source-build




パスとか弄らないままversion

./usr/local/gradle-source-build/bin/gradle -version


1.0 milestone…とか出るはず。



Screencast

インストール後の使い方の様子をプロジェクト作成からテスト走らせるまで。

http://www.screenr.com/ih88


使い方

(Screencastとは名前が異なります)

Eclipseで適当にプロジェクト一つ作ります

src/some/package/SampleProject


一つクラス追加

HelloWorld.java


JUnitを使ったテストクラスを追加

SampleTests.java


test/some/package/SampleTests.java の形で置く


srcフォルダと同じ階層に build.gradle ファイル追加



内容を記述

apply plugin:'java'



//add dependenncies into this build-rule

dependencies {

testCompile 'junit:junit:4.8.2'

}



//set repositories for this build-rule

repositories {

mavenCentral();

}



//change test-source dir from src/test/java to below

sourceSets {

  test {

    java {

      srcDir "test/com/kissaki"

    }

  }

}


このあと、

該当するbuild.gradle のあるフォルダまで行ってから、

gradle build とするとビルド、

gradle test とするとテストが走ります。


Screencastだと、いきなりテストを行い、テスト側に

fail(not yet implemented);

があるので、失敗してます。


testを実行するとき、 -i オプションを付ける事で、詳細を表示していますが、

レポート自体は

srcと同じ階層に

build

フォルダが勝手に生成され、

build/reports/tests/ 

に、index.htmlと、パッケージ名.html という形でテスト結果が出力されてます。


build.gradle内容解説

・apply plugin:'java' で、javaだよーって宣言してます。

これによって、gradleが見るsrcとかtestとかのパスのルールが決定されています。


・dependencies には、依存している(以下略)


・テストのソースの場所設定を、sourceSetsで行ってます。

デフォルトの位置は、javaの場合、

src/test/java/ 下になります。

ちなみにこの設定でtestフォルダの位置を変えてるのは、

たまたま近所にあったGWTの構成がそうだったから。

必然性はありません。



GradleのTextMateBundleがあった

https://github.com/gradle/gradle.tmbundle




ご意見ご感想は @toru_inoue まで。あるもんならな!!